1. Field of the Invention
The present invention relates to a method, system, and program for generating executable objects implementing methods for an information model
2. Description of the Related Art
The Common Information Model (CIM) is an industry standard specification to allow for the interchange of management information in a network environment including devices from different vendors, where the network may include heterogeneous as well as homogeneous devices. The CIM schema specifies a set of classes, including methods and objects, that management programs call to obtain information and perform management operations with respect to devices in the network. Each vendor of a network device that is capable of interfacing in a CIM environment must provide a set of device specific APIs that implement the CIM classes. A vendor would provide a CIM Provider, which is a program module that maps CIM APIs or methods, as defined by the industry standard CIM model, to device specific APIs that may implement the functionality of a defined CIM API for the specific device. The term “CIM API” as used herein refers to any method, interface or function that is called to perform an operation defined within the CIM management schema.
The CIM schema has three layers. First, a core schema captures notions that are applicable to all areas of management. Second, common schemas capture notions that are common to particular management areas, but independent of a particular technology or implementation. The common areas are systems, devices, networks, applications, metrics, databases, the physical environment, event definition and handling, management of a CIM infrastructure (the Interoperability Model), users and security, policy and trouble ticketing/knowledge exchange (the Support Model). These models define classes addressing each of the management areas in a vendor-neutral manner. Third, extension schemas represent organizational or vendor-specific extensions of the common schema. These schemas can be specific to environments, such as operating systems, technology-specific areas, and product specific areas. The formal definition of the CIM Schema is expressed in a Managed Object File (MOF) which is an ASCII or UNICODE file that can be used as input into an MOF editor, parser or compiler to produce executable code that may be called by a CIM application.
In the current art, to invoke a CIM method, a developer writes a CIM application that includes numerous CIM protocol statements to allow the CIM client application to establish communication with the CIM provider and instantiate the object and classes at the server to enable execution of the methods the developer wants to include in the CIM application.
FIG. 1 illustrates an example of code used to invoke a CIM method for an extension schema for an International Business Machines (“IBM”) Enterprise Storage System® (ESS). (Enterprise Storage Server is a registered trademark of IBM). The sample code of FIG. 1 includes many statements that a client application must include to invoke the “CreateSynchronizedSet” method, including a method from the CIMClient class to establish a session with the CIM object manager and a method from the CIMNameSpace class to instantiate a CIM namespace used for the connection. A CIM namespace is a logical grouping of CIM classes and CIM instances that represent managed objects in a particular environment. The client protocol statements may further include methods from a CIMValue class, which is a class to encapsulate CIM values assigned to properties, references and qualifiers to return to the CIM client application. Thus, any invocation of a CIM method requires that the developer of the CIM client applications must include CIM protocol statements to enable communication with the server and execution of the called method by the client at the server.
There is a need in the art to provide improved techniques for invoking CIM methods in a manner that minimizes the programming complexity resulting from the need to include the CIM protocol statements in the applications invoking the CIM methods to perform device management operations.